Docker 指令參考:
Docker Images:lwieske/java-8
這篇筆記基本上跟前一篇差不多,不過這篇是改成用 Dockerfile 再做一遍相同的操作,也順便了解 Dockerfile 的使用方式,特此紀錄,雖然後面沒有機會再用到,但也算是個不錯的經驗。
Dockerfile 的內容如下:
FROM lwieske/java-8:jdk-8u202-slim
WORKDIR /root
RUN wget http://ftp.mirror.tw/pub/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
RUN tar -zxvf apache-maven-3.5.4-bin.tar.gz
ENV PATH=$PATH:/root/apache-maven-3.5.4/bin/
以上的 Dockerfile 中主要有用到的指令說明如下:
FROM: 使用到的 Docker Image 名稱,今天使用 CentOS
WORKDIR: 切換當前工作目錄,影響到後續的 RUN、CMD、ENTRYPOINT、COPY和ADD指令中的路徑。
RUN: RUN 指令後面放 Linux 指令,用來執行安裝和設定這個 Image 需要的東西
ENV: 用來設定環境變數
docker build -t java8-maven . --no-cache
使用 --no-cache 的主要原因,是避免在 Build Docker image 時被 cache 住,而造成沒有 build 到修改過的 Dockerfile。
Build 完 Docker Image 之後,使用 docker images 指令查看是否有 build 成功如下圖:
執行 Build 完的 Docker Image ,指令如下:
docker run -it -d --name java8-maven java8-maven
docker attach java8-maven
先切換到使用者主目錄,指令:cd ~
輸入指令:mvn archetype:generate
會載一堆東西w
看到第一個選項:直接輸入Enter,
第二個選項:這裡是選擇版本號,其中alpha代表內部測試,可以隨便選一個。
接下來要分別輸入四個參數:
groupId:
idv.zjh
。
artifactId:
MavenDemo
。
version :直接輸入Enter
package :直接輸入 Enter
都OK之後,輸入 Y ,出現以下畫面代表 Maven 專案建立成功拉
步驟1:先進入有pom.xml設定的資料夾,輸入 mvn test
,進行單元測試,確認沒有問題,指令如下:
cd ~
ls
cd MavenDemo/
mvn test
出現Build Success,表示單元測試成功。
步驟2:輸入 mvn package
,產生jar包:
會發現產生了一個 target 資料夾,以及 MavenDemo-1.0-SNAPSHOT.jar
。下面是target目錄的內容:
步驟3:進入target資料夾,輸入 java -cp MavenDemo-1.0-SNAPSHOT.jar idv.zjh.App
有成功顯示的話 Hello World!
表示成功!